package org.example.demosql.SQL.Service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.example.demosql.SQL.Entity.UserEmail;
import org.example.demosql.SQL.Mapper.UserEmailMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
 * UserEmailService 是一个业务逻辑层（Service Layer）的类，用于处理与用户电子邮件相关的业务逻辑。
 *
 * 这个类继承自 ServiceImpl 类，而ServiceImpl 是一个通用的 CRUD（创建、读取、更新、删除）操作的基类，
 * 它由 MyBatis-Plus 框架提供，允许开发者快速实现数据访问层的增删改查操作。
 *
 * UserEmailService 通过继承 ServiceImpl，自动获得了对 UserEmailMapper 接口的实现，
 * 该接口是 MyBatis Mapper，用于执行数据库的 CRUD 操作。
 * UserEmailMapper 需要手动定义，并且应当与 UserEmail 实体类关联。
 *
 * UserEmailService 类应当被 Spring 框架管理，因此使用了 @Service 注解。
 * 该注解告诉 Spring，这个类是一个服务组件，并且应该自动被 Spring 容器创建并管理。
 */
@Service
public class UserEmailService extends ServiceImpl<UserEmailMapper, UserEmail> {
    public List<UserEmail> findAllUsers() {
        return list();
    }

    @Autowired
    private UserEmailMapper userEmailMapper;

    // 分页查询

    public IPage<UserEmail> selectPage(int pageNum, int pageSize) {
        Page<UserEmail> page = new Page<>(pageNum, pageSize);
        IPage<UserEmail> userIPage = userEmailMapper.selectPage(page, null);
        return userIPage;
    }
}
